Method and system for generating and presenting conversation threads having email, voicemail and chat messages

ABSTRACT

When an electronic message with a voicemail attachment is received, an audio player object and a reply by chat object are displayed simultaneously along with the electronic message. A reply to the electronic message, whether by chat or by email, is associated with the same thread as the electronic message. The electronic message with the voicemail attachment is associated with a conversation thread that may also include chat messages and email messages. In a conversation view of a respective conversation thread, representations of an electronic voicemail message (an electronic message having a voicemail attachment), one or more chat messages and one or more email messages may be displayed simultaneously.

RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No.11/459,295, “Method and System for Integrating Voicemail and ElectronicMessaging,” filed Jul. 21, 2006.

TECHNICAL FIELD

The disclosed embodiments relate generally to electronic messaging, andmore particularly, to methods and systems for integrating voicemail andelectronic messaging.

BACKGROUND

In today's digital age, users can communicate with each other in a widevariety of ways. For example, email and voice over the wired or wirelesstelephone networks have become ubiquitous in our society. Voice overInternet Protocol (VoIP) has also become a popular form ofcommunication. However, these forms of communications are stillconsidered distinct. As a result, users have to use differentapplications for different forms of communication.

The present invention provides systems and methods for integratingdifferent forms of electronic communication, such as email and voicecommunications, or email, voicemail and chat (sometimes called instantmessaging) communications.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a computer network in accordancewith some embodiments.

FIG. 2 is a flow diagram illustrating a process for associating anelectronic message that has associated audio data and a reply to theelectronic message with the same thread in accordance with someembodiments.

FIG. 3 is a flow diagram illustrating a process for displaying an audioplayer and a chat reply object with an electronic message in accordancewith some embodiments.

FIGS. 4A-4G illustrates an exemplary graphical user interface fordisplaying an audio player and a chat reply object with an electronicmessage in accordance with some embodiments.

FIG. 5A is a diagram illustrating an exemplary data structure for anelectronic message having an associated digital audio file in accordancewith some embodiments.

FIG. 5B is a block diagram of an exemplary user database and messagedatabase for use in an electronic messaging server.

FIG. 6 is a block diagram illustrating a voice communications server inaccordance with some embodiments.

FIG. 7 is a block diagram illustrating an electronic messaging server inaccordance with some embodiments.

FIG. 8 is a block diagram illustrating a client computer in accordancewith some embodiments.

Like reference numerals refer to corresponding parts throughout thedrawings.

DESCRIPTION OF EMBODIMENTS

FIG. 1 is a block diagram illustrating a computer network in accordancewith some embodiments. The computer network 100 includes one or moreclients 102, an electronic messaging system 104, a voice communicationssystem 106, and a network 108 for interconnecting these components. Thenetwork 106 may include one or more of the following: local areanetworks (LAN), wide area networks (WAN), intranets, wireless networks,and the Internet.

The one or more clients 102 are devices (sometimes called clientdevices) from which a user may communicate with other users via theelectronic messaging system 104 and the voice communications system 106.The client 102 may be any device capable of receiving data from andsending data to other computers, devices, and so forth through thenetwork 106. Examples of client devices may include, without limitation,desktop computers, notebook (or laptop) computers, personal digitalassistants (PDAs), mobile phones, network terminals, and so forth. Insome embodiments, the client device includes one or more applicationsfor communicating with other computers or devices through the network106. Examples of such applications include, without limitation, webbrowsers, email applications, instant messaging or chat applications,and voice over Internet Protocol (VoIP) applications.

The electronic messaging system 104 provides electronic messagingservices. The electronic messaging system 104 may include one or moreelectronic messaging servers 700, further details of which are describedbelow in FIG. 7. In some embodiments, the electronic messages handled bythe electronic messaging system 104 include email messages (sometimescalled emails) and chat messages (also sometimes called instantmessaging messages or IM messages). The electronic messaging system 104receives electronic messages from other computers, such as clients 102,stores the messages, organizes the messages into conversation threads,and delivers them to other computers. The electronic messaging system104 may also receive and deliver attachments to the electronic messagesand provide objects (e.g., client executable objects) for opening theattachments. In some embodiments, the attachments may include images,digital audio data or files, digital video data or files, and otherdocuments such as text files, Portable Document Format (PDF) files, anddocuments composed in word processor software.

In some embodiments, the electronic messaging system 104 includes aweb-based interface. The web-based interface includes webpages that aresent to and rendered by a web browser application on a client 102 whenrequested by a user. Through the web-based interface, a user caninteract with the electronic messaging system 104 and utilize itsservices, such as sending, receiving, and viewing electronic messages.Email systems that utilize a web-based interface are sometimes calledwebmail or web-based email. The web-based interface may be implementedusing well-known technologies such as Hypertext Markup Language (HTML),JavaScript, Cascading Style Sheets (CSS), and so forth.

The voice communications system 106 provides voice communicationsservices. The voice communications system 106 may include one or morevoice communications servers 600, further details of which are describedbelow in FIG. 6. The voice communications system 106 receives voice data(or more generally, audio data) from other computers and converts theaudio data into digital audio data. In some embodiments, the voicecommunications system 106 encodes and compresses the voice data into adigital audio file (sometimes called a digital audio data file or audiodata file) using the MP3 encoding standard. In some other embodiments,other encoding and compression standards or audio file formats, whetherlossy or lossless, may be used. Examples include waveform audio (.wav),Advanced Audio Coding (.aac), and Windows Media Audio (.wma) formats.The voice communications system 106 may also send the digital audio toother computers or systems. In some embodiments, the voicecommunications system 106 sends the digital audio to other computers orsystems, such as the electronic messaging system 104, as attachments toelectronic messages.

The voice communications system 106 may receive audio data from one ormore client applications on the client 102. Examples of clientapplications that can send audio data to the voice communications system106 include voice over Internet Protocol (VoIP) applications, voice chatapplications, or instant messaging applications with voicecommunications modules.

In some embodiments, the voice communications system 106 may be a partof a communications system that includes presence information, i.e.information regarding whether a person is online, offline, busy, etc. Ifa person is online, a user may communicate with the person in real timeor near-real time, akin to a phone call. If a person is offline, busy,or otherwise not responding, a user may leave a voicemail message, as adigital audio file, for the person.

It should be appreciated that while the embodiments disclosed in thisspecification are described in the context of voice communications,voicemails, and audio data files that represent voicemails, theembodiments may be adapted for use with audio data generally. That is,the embodiments may be adapted for use with audio data that does notinclude voice data, or audio data that includes both voice data andother sounds. The term “voicemail message” is used in this document tomean audio data, which may be stored, for example, in an audio datafile, that contains a voicemail. The term “electronic voicemail message”is used in this document to mean an electronic message that contains oris associated with audio data that contains a voicemail message.

Attention is now directed to FIG. 2, which is a flow diagramillustrating a process for 200 for associating both an electronicmessage that has an associated digital audio file and a reply to theelectronic message with the same thread in accordance with someembodiments. An electronic message is received, wherein the electronicmessage is associated with audio data (e.g., an audio data file), whichmay be a voicemail, and both the electronic message and the audio dataare associated with the same conversation thread (202). For example, theaudio data file may be an attachment to the electronic message, and theconversation thread to which the electronic message is assigned is alsothe conversation thread associated with the attached audio data file. Insome embodiments, each distinct conversation thread has a distinctconversation ID or identifier. All the messages assigned to orassociated with a conversation thread are assigned or associated withthe same conversation ID.

A request from a client to open the electronic message is received(204). The electronic message, an audio player object, and a chat replyobject are transmitted to the client (206). A reply to the electronicmessage is received from the client (208). The received reply isassociated with the same conversation thread as the electronic messageand the audio data file (210).

Attention is now directed to FIG. 3, which is a flow diagramillustrating a process flow 300 for displaying an audio player and achat reply object with an electronic message in accordance with someembodiments. An electronic message is received at a client, wherein theelectronic message is associated with a digital audio file (302). Theelectronic message is displayed simultaneously with an audio playerobject for playing the digital audio file and a chat reply object (304).

While the items described above are displayed, a user of the client mayselect the chat reply object. After user selection of the chat replyobject, a reply chat session is initiated (306). In some embodiments,the session is initiated by opening a new chat window. The chat sessionis configured to be a reply to the electronic message and the audiofile.

Attention is now directed to FIGS. 4A-4G, which illustrate exemplarygraphical user interfaces for displaying an audio player object and achat reply object with an electronic message in accordance with someembodiments. FIGS. 4A-4G illustrates graphical user interfaces of awebmail application rendered in a web browser. The webmail applicationinterface 400 may include a search box 402 for searching emails (or,alternately, for searching all electronic messages in a user's account)and a listing of folders or other organizational units 403, such as aninbox, trash, spam, sent messages, and so forth. In some embodiments,the interface 400 also includes a list of chat contacts 405. The list ofchat contacts 405 shows the presence information for the contacts in thelist.

The interface 400 includes a list of conversation threads 404 (alsovariously called “threads” and “conversations”). The list ofconversation threads 404 includes a list of conversations in the folderor other organizational unit that the user has selected. Each item inthe list 404 is a compressed representation of a respective conversationthread. For example, if the user has selected the inbox from the folderlist 403, the list of threads 404 lists the conversations in the inbox.Some of the conversation threads in the list of threads may includeelectronic messages that have voicemail attachments. In some cases,these threads 406 and 408 may include a subject name that indicates theconversation thread includes a voicemail, the sender of the voicemail,and a length of the voicemail. Additionally, as shown in FIG. 4A, aphone icon 410 may be shown in the compressed representation of arespective thread 406 or 408 to indicate that the thread includes avoicemail attachment.

When the user selects a thread, the interface 400 displays the threadview 412 (also sometimes called the conversation view) for the userselected thread, as shown in FIG. 4B. In some embodiments, when thethread includes a voicemail attachment, the thread view 412 includes anaudio player object, which includes a playback/pause object, a playbackprogress object and a volume control object. In the embodiment shown inFIG. 4B, the thread view 412 includes a playback/pause button 415, aprogress slider 416 and a volume slider 418. The thread view 412 mayalso include an image associated with the sender of the voicemail, ifone is available. If an image associated with the sender is notavailable, a generic silhouette of a person may be displayed instead. Insome embodiments, the thread view 412 includes a link 420 (or moregenerally an object) to open the audio player object in a new window anda link 422 (or more generally an object) to download the voicemailattachment may also be included.

The thread view 412 may also include one or more reply objects. In someembodiments, the reply objects may include any combination of thefollowing: a link 424 to start a reply message, a link 426 to start amessage forwarding message, a link 428 (a chat link or chat replyobject) to open a window for a chat session with the sender, and a replybox 430 for composing or entering a reply message. If the user selectsthe chat link 428, a chat window 432 opens. See FIG. 4C. Via the chatwindow, the user and the sender can engage in a chat session, sometimescalled an instant messaging session. In some embodiments, when that chatsession is ended, a transcript of the chat session is saved (as one ormore electronic messages) and associated with the same conversationthread as the voicemail. As shown in FIG. 4D, when the user views thethread later, the thread view 412 includes the transcript 434 of thechat session.

Referring now to FIG. 4B and FIG. 4E, if the user selects the reply link424 (FIG. 4B), a reply interface 436 (FIG. 4E) may be shown on theclient device. In the reply interface 436, the user can edit the list ofrecipients for the reply message and enter (e.g., compose and/or edit) areply message. When the user sends the reply message, the reply messageis saved and associated with the same conversation thread as theelectronic voicemail message and the initial message. As shown in FIG.4F, when the same conversation thread is selected for viewing later, thethread view 412 displays the reply along with other messages in thethread, including the message with the voicemail attachment.

In some embodiments, the thread view 412 may display the body of onlythe most recent message in the thread, as shown in FIG. 4G; whiledisplaying a compressed representation of the other messages in thethread. The compressed representation of a message in the thread mayinclude information such as subject and date/time, and may optionallyalso indicate the sender of the message. The compressed representationof a respective electronic voicemail message (see FIG. 4G) includes thevoicemail icon 410 (FIG. 4B). User selection of the compressedpresentation of a respective message in the conversation thread, forexample by clicking on the compressed presentation, causes the userdevice to redisplay the conversation thread with the user selectedmessage being displayed in an expanded (e.g., full text) representation.When the user selected message (i.e., a user selected compressedrepresentation of a message) is an electronic voicemail message, theexpanded representation of the electronic voicemail message includes theaudio player object, as shown in FIGS. 4D, 4E and 4F. If the userselects the forward link 426 (FIG. 4B), a forwarding interface thatresembles the reply interface 436 may be shown. In the forwardinginterface, the user can edit the list of recipients for the forwardmessage and edit the forward message.

As described above, a voicemail may be delivered as an attachment to anelectronic message such as an email. In some embodiments, the electronicmessage to which the voicemail is attached, as generated by a voicecommunications system 106, may include a special tag or identifiertagging the electronic message as one with a voicemail attachment.Directing attention now to FIG. 5, the electronic voicemail message datastructure 500 may include an voicemail tag or identifier 502 thatidentifies the message as having a voicemail attachment (i.e., an audiodata attachment that contains a voicemail message). The voicemail tag502 is included in the electronic message data 504, which also includesthe headers 506 and the body 508 of the electronic message. The datastructure 500 also includes the attachment audio file 506. The voicemailtag 502 is one of several types of metadata that may be included in orotherwise associated with an electronic message. Labels, includinglabels automatically assigned by the electronic messaging system (e.g.,“Inbox”) and/or user assigned labels (e.g., “vacation”, or “work”), areanother type of metadata that may be included in or otherwise associatedwith an electronic message.

The tag 502 tags the particular electronic message to which the tag isadded as one that includes a voicemail attachment. Such electronicmessages are sometimes herein called electronic voicemail messages. Whenan electronic messaging system 104 receives an electronic message withthe tag 502 (i.e., an electronic voicemail message), the electronicmessaging system 104 may treat the message specially. In someembodiments, the special treatment includes indexing the message suchthat it is searchable as a voicemail or audio message. In someembodiments, another special operation performed for messages with avoicemail tag 502 is sending an audio player object along with themessage when the message is delivered to a client for display oropening. In some embodiments, if the same electronic message andvoicemail attachment is included later in a reply or forwarding message,the voicemail tag 502 is not included in the reply or forwardingmessage, because the original recipient of the electronic voicemailmessage is not the user to whom the reply or forwarding message is beingsent. In these embodiments, the reply or forwarding message, even thoughit includes the original message with the voicemail, is treated as anormal electronic message that happens to have an audio file attachment.

FIG. 5B illustrates an exemplary user database 520, identifying theusers of an electronic messaging system. The user database 520 maycontain a User ID 522 that references a full text and attributes index524 associated with a particular user. The index 524 maps terms andmessage attributes to messages in a message database 530. A particularMessage ID 526 may be associated with a particular Conversation ID 532in a Message to Conversation Map 5304. Each entry in Message toConversation Map 534 associates (i.e., maps) a Message ID 526 to aConversation ID 532. In some embodiments, the Conversation ID 532 is ann-bit number. This number uniquely identifies the particularconversation to which the message identified by Message ID 526 belongs.In these embodiments, every conversation in a user's electronic messagesaccount has a distinct Conversation ID.

To identify the other messages associated with a particularconversation, a User Conversation Database 538 may be used. Such adatabase might be used, for example, when identifying the remainder ofthe messages included in a conversation where one or more messages hadmatched a particular search query. The User Conversation Database 538includes a number of Conversation Entries 540. Each Conversation Entry540 stores a list of the messages (or other data structure representingthe messages) associated with the conversation. All of the messagesassociated with a respective conversation have the same Conversation ID.The set of messages assigned or associated with a respectiveConversation ID may include one or more email messages, one or more chatmessages, and one or more electronic voicemail messages, all in the sameconversation.

As shown in FIG. 5B, a Conversation Entry 542 may include a linked listof message entries 546, each message entry corresponding to a particularmessage in the conversation. The linked list might be ordered by, forexample, date/time values associated with the messages in theconversation. An exemplary message entry 546 includes the Message ID526, Header 548, and Metadata 550 of a particular message. The Header548 may contain all or a portion of a message's header information. TheMetadata 550 may contain information identifying certain attributesassociated with the message. For example, in some embodiments theMetadata 550 of a message identifies the labels (e.g., labelsautomatically assigned by the electronic message system and/or userdefined labels) or message folders associated with the message. In someembodiments, the Metadata 550 also indicates whether a voicemail tag 502has been associated with the message. The Message ID(4) 526 of aparticular entry 552 may be associated with a particular message in theMessage Database 530. In some embodiments, the message entry 546 doesnot include the content of the body of the corresponding message 560.

In some embodiments, the information in the index 524 and theinformation in a Conversation Entry 542 may be used to assist inassociating a new message (e.g., an email message, an electronicvoicemail message or a chat message) with a particular conversation,without accessing the Message database 530. Once a conversation has beenassociated with a new message, attributes identified in the metadata 550of the message entries for the identified conversation can be applied tothe new message, without having to retrieve any messages from themessage database.

Attention is now directed to FIG. 6, which is a block diagramillustrating a voice communications server in accordance with someembodiments. The voice communications server 600 typically includes oneor more processing units (CPU's) 602, one or more network or othercommunications interfaces 604, memory 606, and one or more communicationbuses 608 for interconnecting these components. The voice communicationsserver 600 optionally may include a user interface (not shown)comprising a display device and a keyboard. Memory 606 includeshigh-speed random access memory, such as DRAM, SRAM, DDR RAM or otherrandom access solid state memory devices; and may include non-volatilememory, such as one or more magnetic disk storage devices, optical diskstorage devices, flash memory devices, or other non-volatile solid statestorage devices. Memory 606 may optionally include one or more storagedevices remotely located from the CPU(s) 602. Memory 606, oralternatively the non-volatile memory device(s) within memory 606,comprises a computer readable storage medium. In some embodiments,memory 606 or the computer readable storage medium of memory 606 storesthe following programs, modules and data structures, or a subsetthereof:

-   -   an operating system 610 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks;    -   a network communication module 612 that is used for connecting        the voice communications server 600 to other computers via the        one or more communication network interfaces 604 (wired or        wireless) and one or more communication networks, such as the        Internet, other wide area networks, local area networks,        metropolitan area networks, and so on;    -   an audio encoding module 614 for encoding and compressing audio        data into digital audio files;    -   a message generation module 616 for generating electronic        messages with audio file attachments and special tags        identifying these messages as messages having associated        voicemail audio files; and    -   electronic messages with attached audio files 618, generated by        the message generation module 616.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and corresponds to a set ofinstructions for performing a function described above. The aboveidentified modules or programs (i.e., sets of instructions) need not beimplemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various embodiments. In some embodiments, memory 606 maystore a subset of the modules and data structures identified above.Furthermore, memory 606 may store additional modules and data structuresnot described above.

Although FIG. 6 shows a “voice communications server,” FIG. 6 isintended more as functional description of the various features whichmay be present in a set of servers than as a structural schematic of theembodiments described herein. In practice, and as recognized by those ofordinary skill in the art, items shown separately could be combined andsome items could be separated. For example, some items shown separatelyin FIG. 6 could be implemented on single servers and single items couldbe implemented by one or more servers. The actual number of servers usedto implement a voice communication system, of which the voicecommunications server 600 is a part, and how features are allocatedamong them will vary from one implementation to another, and may dependin part on the amount of data traffic that the system must handle duringpeak usage periods as well as during average usage periods.

Attention is now directed to FIG. 7, which is a block diagramillustrating an electronic messaging server in accordance with someembodiments. The electronic messaging server 700 typically includes oneor more processing units (CPU's) 702, one or more network or othercommunications interfaces 704, memory 706, and one or more communicationbuses 708 for interconnecting these components. The electronic messagingserver 700 optionally may include a user interface (not shown)comprising a display device and a keyboard. Memory 706 includeshigh-speed random access memory, such as DRAM, SRAM, DDR RAM or otherrandom access solid state memory devices; and may include non-volatilememory, such as one or more magnetic disk storage devices, optical diskstorage devices, flash memory devices, or other non-volatile solid statestorage devices. Memory 706 may optionally include one or more storagedevices remotely located from the CPU(s) 702. Memory 706, oralternatively the non-volatile memory device(s) within memory 706,comprises a computer readable storage medium. In some embodiments,memory 706 or the computer readable storage medium of memory 706 storesthe following programs, modules and data structures, or a subsetthereof:

-   -   an operating system 710 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks;    -   a network communication module 712 that is used for connecting        the electronic messaging server 700 to other computers via the        one or more communication network interfaces 704 (wired or        wireless) and one or more communication networks, such as the        Internet, other wide area networks, local area networks,        metropolitan area networks, and so on;    -   a message indexing module 714 for indexing electronic messages        stored in memory 706;    -   an audio player object 716, which is sent along with an        electronic message having an associated audio file to a client,        thereby facilitating playback of the audio file at the client;    -   an electronic message store 718 for storing electronic messages        (e.g., the electronic message store 718 may include one or more        databases and data structures, such as those discussed above        with reference to FIG. 5B);    -   an audio file store 720 for storing audio files associated with        electronic messages; and    -   a user image store 722 for storing images associated with users        of the electronic messaging server 700.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and corresponds to a set ofinstructions for performing a function described above. The aboveidentified modules or programs (i.e., sets of instructions) need not beimplemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various embodiments. In some embodiments, memory 706 maystore a subset of the modules and data structures identified above.Furthermore, memory 706 store additional modules and data structures notdescribed above.

Although FIG. 7 shows an “electronic messaging server,” FIG. 7 isintended more as functional description of the various features whichmay be present in a set of servers than as a structural schematic of theembodiments described herein. In practice, and as recognized by those ofordinary skill in the art, items shown separately could be combined andsome items could be separated. For example, some items shown separatelyin FIG. 7 could be implemented on single servers and single items couldbe implemented by one or more servers. The actual number of servers usedto implement an electronic messaging system, of which the electronicmessaging server 700 is a part, and how features are allocated amongthem will vary from one implementation to another, and may depend inpart on the amount of data traffic that the system must handle duringpeak usage periods as well as during average usage periods.

Attention is now directed to FIG. 8, which is a block diagramillustrating a client computer in accordance with some embodiments. Theclient computer 800 typically includes one or more processing units(CPU's) 802, one or more network or other communications interfaces 804,memory 806, and one or more communication buses 808 for interconnectingthese components. The client computer 800 also includes a user interface810, which may include a display device 812 and a keyboard and mouse814. The memory 806 includes high-speed random access memory, such asDRAM, SRAM, DDR RAM or other random access solid state memory devices;and may include non-volatile memory, such as one or more magnetic diskstorage devices, optical disk storage devices, flash memory devices, orother non-volatile solid state storage devices. Memory 806 mayoptionally include one or more storage devices remotely located from theCPU(s) 802. Memory 806, or alternatively the non-volatile memorydevice(s) within memory 806, comprises a computer readable storagemedium. In some embodiments, memory 806 or the computer readable storagemedium of memory 806 stores the following programs, modules and datastructures, or a subset thereof:

-   -   an operating system 816 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks;    -   a network communication module 818 that is used for connecting        the voice communications server 800 to other computers via the        one or more communication network interfaces 804 (wired or        wireless) and one or more communication networks, such as the        Internet, other wide area networks, local area networks,        metropolitan area networks, and so on; and    -   a client application 820 for rendering and displaying content.

In some embodiments, the client application is a web browser. The clientapplication 820 is a web browser application, or other browserapplication, and includes an audio player object module 822 for playingback digital audio files, a reply module 824 for replying to messages byelectronic messaging, and a reply by chat module 826 for replying tomessages by chat. In some embodiments, the audio player object module822, reply module 824, and reply by chat module 826 are downloaded tothe client from a server, such as the electronic messaging server 700.In some embodiments, the audio player object module 822 is an AdobeFlash object, which invokes a flash player that is built-in the clientapplication (e.g., the flash player may be an extension of a webbrowser). In some embodiments, the modules 822, 824, 826 are implementedusing JavaScript. For example, in some embodiments, the modules 822,824, 826 are JavaScript modules or instructions embedded in one or moreweb pages downloaded from a server to the client 800.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and corresponds to a set ofinstructions for performing a function described above. The aboveidentified modules or programs (i.e., sets of instructions) need not beimplemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various embodiments. In some embodiments, memory 806 maystore a subset of the modules and data structures identified above.Furthermore, memory 806 may store additional modules and data structuresnot described above.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention variousembodiments with various modifications as are suited to the particularuse contemplated.

1. A computer implemented method, comprising: on a client device:receiving data representing a plurality of conversation threads, atleast a first conversation thread comprising multiple distinctelectronic messages, including at least one email message and at leastone electronic voicemail message; displaying a list of the conversationthreads; and in response to a selection of the first conversation threadfrom the list of conversation threads, ceasing to display the list ofconversation threads, and simultaneously displaying a contiguous orderedlist of representations of the multiple messages in the firstconversation thread, including displaying a voicemail icon in arepresentation of each electronic voicemail message in the firstconversation thread; wherein the ordered list includes a singlerepresentation for each message of the multiple messages and therepresentations in the ordered list include a compressed representationfor at least one of the multiple messages and an uncompressedrepresentation for at least another one of the multiple messages, and acompressed representation of a respective message displays lessinformation of the respective message than an uncompressedrepresentation of the respective message; and when the ordered listincludes a compressed representation of a voicemail message, thecompressed representation of the voicemail message includes a voicemailicon, and when the ordered list includes a uncompressed representationof a voicemail message, the uncompressed representation of the voicemailmessage includes an audio player object configured for playing back thevoicemail message.
 2. The method of claim 1, wherein a respective emailmessage in the first conversation thread is a response to a respectiveelectronic voicemail message in the first conversation thread.
 3. Themethod of claim 1, wherein the first conversation thread includes atleast one chat message, and the displaying includes simultaneouslydisplaying a representation of the at least one chat message, the atleast one email message and the at least one voicemail message.
 4. Themethod of claim 1, including, in response to a selection of a firstcompressed representation of a respective message of the multiplemessages, replacing the display of the first compressed representationof the respective message with an uncompressed representation of therespective message that is displayed at a location of the firstcompressed representation within the ordered list.
 5. The method ofclaim 4, wherein each respective electronic voicemail message has anassociated audio data file; the method including, upon user selection ofa compressed representation of a respective electronic voicemailmessage, displaying simultaneously an audio player object configured forplaying back the audio data file associated with the user selectedelectronic voicemail message and a chat reply object, wherein selectionof the chat reply object by a user initiates a chat session associatedwith the audio data file.
 6. A computer implemented method, comprising:on a server system: receiving an electronic voicemail message, whereinthe electronic voicemail message is associated with audio data, whereinthe electronic voicemail message and the audio data are associated witha first conversation thread; generating data representing a plurality ofconversation threads, the plurality of conversation threads including atleast the first conversation thread, the first conversation threadcomprising multiple distinct electronic messages, including at least oneemail message and at least one electronic voicemail message, anddelivering the data to a client device for display on the client device;receiving a request from the client device indicative of the selectionof the first conversation thread of the plurality of conversationthreads; and in response to the request, generating a representation ofthe first conversation thread that includes a contiguous ordered list ofrepresentations of the multiple messages in the first conversationthread, for simultaneous display at the client device when the clientdevice ceases to display the plurality of conversation threads, therepresentation of each electronic voicemail message in the firstconversation thread including a voicemail icon, and delivering therepresentation of the first conversation thread to the client device;wherein the ordered list includes a single representation for eachmessage of the multiple messages and the representations in the orderedlist include a compressed representation for at least one of themultiple messages and an uncompressed representation for at leastanother one of the multiple messages, and a compressed representation ofa respective message displays less information of the respective messagethan an uncompressed representation of the respective message; and whenthe ordered list includes a compressed representation of a voicemailmessage, the compressed representation of the voicemail message includesa voicemail icon, and when the ordered list includes a uncompressedrepresentation of a voicemail message, the uncompressed representationof the voicemail message includes an audio player object configured forplaying back the voicemail message.
 7. The method of claim 6, including:delivering the electronic voicemail message to the client device;receiving a reply to the electronic voicemail message from the clientdevice; associating the reply with the first conversation thread; andupdating the data representing the first conversation thread to includedata representing the reply to the electronic voicemail message.
 8. Themethod of claim 7, wherein the reply comprises an email message.
 9. Themethod of claim 8, wherein the first conversation thread has anassociated conversation ID that is assigned to the email message and theelectronic voicemail message.
 10. The method of claim 9, wherein theconversation ID is also assigned to at least one chat message, whereinthe at least one chat message is associated with the first conversationthread.
 11. A system, comprising: memory; one or more processors; andone or more modules stored in the memory and configured for execution bythe one or more processors, the one or more modules comprising:instructions to receive data representing a plurality of conversationthreads, at least a first conversation thread comprising multipledistinct electronic messages, including at least one email message andat least one electronic voicemail message; instructions to display alist of the conversation threads; and instructions to, in response to aselection of the first conversation thread from the list of conversationthreads, cease to display the list of conversation threads, andsimultaneously display a contiguous ordered list of representations ofthe multiple messages in the first conversation thread, includingdisplaying a voicemail icon in a representation of each electronicvoicemail message in the first conversation thread; wherein the orderedlist includes a single representation for each message of the multiplemessages and the representations in the ordered list include acompressed representation for at least one of the multiple messages andan uncompressed representation for at least another one of the multiplemessages, and a compressed representation of a respective messagedisplays less information of the respective message than an uncompressedrepresentation of the respective message; and when the ordered listincludes a compressed representation of a voicemail message, thecompressed representation of the voicemail message includes a voicemailicon, and when the ordered list includes a uncompressed representationof a voicemail message, the uncompressed representation of the voicemailmessage includes an audio player object configured for playing back thevoicemail message.
 12. A system, comprising: memory; one or moreprocessors; and one or more modules stored in the memory and configuredfor execution by the one or more processors, the one or more modulescomprising: instructions to receive an electronic voicemail message,wherein the electronic message is associated with audio data, whereinthe electronic voicemail message and the audio data are associated witha first conversation thread; instructions to generate data representinga plurality of conversation threads, the plurality of conversationthreads including at least the first conversation thread, the firstconversation thread comprising multiple distinct electronic messages,including at least one email message and at least one electronicvoicemail message, and delivering the data to a client device, fordisplay on the client device; and instructions to generate, in responseto a request from the client device indicative of the selection of afirst conversation thread of the plurality of conversation threads, arepresentation of the first conversation thread that includes acontiguous ordered list of representations of the multiple messages inthe first conversation thread, for simultaneous display at the clientdevice when the client device ceases to display the plurality ofconversation threads, an ordered list of representations of the multiplemessages, the representation of each electronic voicemail message in thefirst conversation thread including a voicemail icon, and delivering therepresentation of the first conversation thread to the client device;wherein the ordered list includes a single representation for eachmessage of the multiple messages and the representations in the orderedlist include a compressed representation for at least one of themultiple messages and an uncompressed representation for at leastanother one of the multiple messages, and a compressed representation ofa respective message displays less information of the respective messagethan an uncompressed representation of the respective message; and whenthe ordered list includes a compressed representation of a voicemailmessage, the compressed representation of the voicemail message includesa voicemail icon, and when the ordered list includes a uncompressedrepresentation of a voicemail message, the uncompressed representationof the voicemail message includes an audio player object configured forplaying back the voicemail message.
 13. A system, comprising: means forreceiving data representing a plurality of conversation threads, atleast a first conversation thread comprising multiple distinctelectronic messages, including at least one email message and at leastone electronic voicemail message; means for displaying a list of theconversation threads; and means for, in response to a selection of thefirst conversation thread from the list of conversation threads, todisplay the list of conversation threads, and simultaneously displayinga contiguous ordered list of representations of the multiple messages inthe first conversation thread, including displaying a voicemail icon ina representation of each electronic voicemail message in the firstconversation thread; wherein the ordered list includes a singlerepresentation for each message of the multiple messages and therepresentations in the ordered list include a compressed representationfor at least one of the multiple messages and an uncompressedrepresentation for at least another one of the multiple messages, and acompressed representation of a respective message displays lessinformation of the respective message than an uncompressedrepresentation of the respective message; and when the ordered listincludes a compressed representation of a voicemail message, thecompressed representation of the voicemail message includes a voicemailicon, and when the ordered list includes a uncompressed representationof a voicemail message, the uncompressed representation of the voicemailmessage includes an audio player object configured for playing back thevoicemail message.
 14. A computer readable storage medium storing one ormore programs for execution by one or more processors of a computersystem, the one or more programs comprising: instructions to receivedata representing a plurality of conversation threads, at least a firstconversation thread comprising multiple distinct electronic messages,including at least one email message and at least one electronicvoicemail message; instructions to display a list of the conversationthreads; and instructions to, in response to a selection of the firstconversation thread from the list of conversation threads, cease todisplay the list of conversation threads, and simultaneously display acontiguous ordered list of representations of the multiple messages inthe first conversation thread, including displaying a voicemail icon ina representation of each electronic voicemail message in the firstconversation thread; wherein the ordered list includes a singlerepresentation for each message of the multiple messages and therepresentations in the ordered list include a compressed representationfor at least one of the multiple messages and an uncompressedrepresentation for at least another one of the multiple messages, and acompressed representation of a respective message displays lessinformation of the respective message than an uncompressedrepresentation of the respective message; and when the ordered listincludes a compressed representation of a voicemail message, thecompressed representation of the voicemail message includes a voicemailicon, and when the ordered list includes a uncompressed representationof a voicemail message, the uncompressed representation of the voicemailmessage includes an audio player object configured for playing back thevoicemail message.
 15. The computer readable storage medium of claim 14,wherein a respective email message in the first conversation thread is aresponse to a respective electronic voicemail message in the firstconversation thread.
 16. The computer readable storage medium of claim14, wherein the first conversation thread includes at least one chatmessage, and the computer program mechanism includes instructions forsimultaneously displaying a representation of the at least one chatmessage, the at least one email message and the at least one voicemailmessage.
 17. The computer readable storage medium of claim 14, whereinthe computer program mechanism includes instructions to, in response toa selection of a first compressed representation of a respective messageof the multiple messages, replace the display of the first compressedrepresentation of the respective message with an uncompressedrepresentation of the respective message that is displayed at a locationof the first compressed representation within the ordered list.
 18. Thecomputer readable storage medium of claim 17, wherein each respectiveelectronic voicemail message has an associated audio data file, and thecomputer program mechanism includes instructions for responding to userselection of a compressed representation of a respective electronicvoicemail message by displaying simultaneously an audio player objectconfigured for playing back the audio data file associated with the userselected electronic voicemail message and a chat reply object, whereinselection of the chat reply object by a user initiates a chat sessionassociated with the audio data file.
 19. A computer readable storagemedium storing one or more programs for execution by one or moreprocessors of a computer system, the one or more programs comprising:instructions to receive an electronic voicemail message, wherein theelectronic voicemail message is associated with audio data, wherein theelectronic voicemail message and the audio data are associated with afirst conversation thread; instructions to generate data representing aplurality of conversation threads, the plurality of conversation threadsincluding at least the first conversation thread, the first conversationthread comprising multiple distinct electronic messages, including atleast one email message and at least one electronic voicemail message,and delivering the data to a client device, for display on the clientdevice; and instructions to generate, in response to a request from theclient device indicative of the selection of a first conversation threadof the plurality of conversation threads, a representation of the firstconversation thread that includes a contiguous ordered list ofrepresentations of the multiple messages in the first conversationthread, for simultaneous display at the client device when the clientdevice ceases to display the plurality of conversation threads, anordered list of representations of the multiple messages, therepresentation of each electronic voicemail message in the firstconversation thread including a voicemail icon, and delivering therepresentation of the first conversation thread to the client device;wherein the ordered list includes a single representation for eachmessage of the multiple messages and the representations in the orderedlist include a compressed representation for at least one of themultiple messages and an uncompressed representation for at leastanother one of the multiple messages, and a compressed representation ofa respective message displays less information of the respective messagethan an uncompressed representation of the respective message; and whenthe ordered list includes a compressed representation of a voicemailmessage, the compressed representation of the voicemail message includesa voicemail icon, and when the ordered list includes a uncompressedrepresentation of a voicemail message, the uncompressed representationof the voicemail message includes an audio player object configured forplaying back the voicemail message.
 20. The computer readable storagemedium of claim 19, the one or more programs further comprising:instructions to deliver the electronic voicemail message to the clientdevice; instructions to receive a reply to the electronic voicemailmessage from the client device; and instructions to associate the replywith the first conversation thread.
 21. The computer readable storagemedium of claim 20, wherein the reply comprises an email message. 22.The computer readable storage medium of claim 21, wherein the firstconversation thread has an associated conversation ID that is assignedto the email message and the electronic voicemail message.
 23. Thecomputer readable storage medium of claim 22, wherein the conversationID is also assigned to at least one chat message, wherein the at leastone chat message is associated with the first conversation thread.